import time
# 导入selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

# 打开chrome浏览器
browser = webdriver.Chrome()

# 打开指定的页面
browser.get("https://wap.jczq.com/#/index")

# 等待页面加载完
# browser.implicitly_wait(5)
time.sleep(2)

# 获取页面源码
html = browser.page_source
# 写入文件
file = open('./runtime/scroll_html1.html', 'w', encoding='utf-8')
file.write(html)
file.close()
#print(html)

# 页面可能会有弹窗，先关闭所有弹窗
toasts = browser.find_elements(By.XPATH, '//*[@id="app"]/div[1]/div[2]/div/img[2]')
for toast in toasts:
    toast.click()

# 获取页面的 body 元素
body = browser.find_element(By.TAG_NAME, "body")

# 创建 ActionChains 实例
actions = ActionChains(browser)
# 模拟按住 body 并往上滑动，直到页面底部
# 往上滑动的动作通常会通过 “向下拖动” 来模拟

for _ in range(10):  # 循环次数可以根据实际需要调整
    actions.click_and_hold(body).move_by_offset(0, -300).release().perform()  # 模拟按住并向上滑动
    time.sleep(1)  # 等待页面加载数据

# 等待页面加载数据
time.sleep(2)


# 获取页面源码
html2 = browser.page_source
# 写入文件
file2 = open('./runtime/scroll_html2.html', 'w', encoding='utf-8')
file2.write(html2)
file2.close()

# 设置五秒后执行下一步
time.sleep(10)
# 关闭浏览器
browser.quit()